import router from "@/router";
import{ useBreadCrumb} from '../store/breadCrumb'
import {usePermission} from '@/store/permission'
import NProgress from 'nprogress'
//前置守卫（钩子）
router.beforeEach( async (to, from) => {
  //打开进度条
  NProgress.start()
  let permissionStore = usePermission()
 
  //判断本地sessionStorage是否又token，如果有，啥也不干
  let token = sessionStorage.getItem("myx-token");
  if (!token) {
    //如果没有
    //1.访问的不是登入页，强行跳转到登录页
    if (to.path !== "/login") {
      return {
        path: "/login",
      };
    }
  }else{
      //如果menulist的长度式0，那么就要发起请求
      if(permissionStore.menulist.length===0){
        //调用store 中的action方法 发起异步请求 
       await permissionStore.fetch_menulist()
       //废弃要进入的路由，重新进入动态添加的路由
        return {
          ...to
        }
      }
  }
  //2.访问的是登录页，直接放行
});
 
//全局后置钩子
router.afterEach((to,from)=>{
  //关闭进度条
  NProgress.done()
  console.log(to)
  let breadCrumbStore = useBreadCrumb()
  breadCrumbStore.$patch(state=>{
    state.datas = to.matched
  })
})
